﻿' ----------------------------------------------------------------------
'
' FileEntity.vb
'
'   Dbfs
'
'   This class contains the implementation of a single folder.
'
' ----------------------------------------------------------------------
' version:  1.0.0.1
' today:    09/07/09  12:45:00
' ident:    "@(#)/Dbfs/Entities/FileEntity.vb 1.0 0.1 09/07/09 0 rjs"

Imports System.IO


Namespace Dbfs

    ''' <summary>
    ''' (DBFS) Exposes instance methods for creating, moving, and enumerating through 
    ''' directories and subdirectories. This class cannot be inherited.
    ''' </summary>
    ''' <remarks>Use the DirectoryInfo class for typical operations such as 
    ''' copying, moving, renaming, creating, and deleting directories.</remarks>
    <SerializableAttribute()> _
    Public Class FileEntity
        Inherits FileSystemEntity


        Private _length As Long


#Region " Constructors "

        Public Sub New()
            MyBase.New()
        End Sub

        ''' <summary>
        ''' Initializes a new instance of the <see cref="DirectoryInfo"/> class.
        ''' </summary>
        ''' <param name="path">A string specifying the path on which to create the <b>DirectoryInfo</b>.</param>
        ''' <remarks>If the path is fully qualified with a UNC name, a folder is created that
        ''' can be persisted in that filesystem.  If the path does not contain a UNC name,
        ''' a folder is created within the virtual space for the current user.</remarks>
        Public Sub New(ByVal path As String)
            MyBase.New(path)
        End Sub

#End Region

#Region " Properties "

        ''' <summary>
        ''' Gets the size, in bytes, of the current file.
        ''' </summary>
        ''' <value>The size of the current file in bytes.</value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overridable ReadOnly Property Length() As Long
            Get
                Return _length
            End Get
        End Property

#End Region ' Properties

#Region " Methods "

        Public Overridable Function CopyTo(ByVal destinationEntity As FileEntity) As FileEntity
            Throw New NotImplementedException
        End Function

        Public Overridable Function CreateText() As StreamWriter
            Throw New NotImplementedException
        End Function

        Public Overridable Function OpenRead() As Stream
            Throw New NotImplementedException
        End Function

        Public Overridable Function OpenWrite() As Stream
            Throw New NotImplementedException
        End Function

#End Region

    End Class

End Namespace
